<template>
  <div class="wrapper">
    <l-header />
    <l-sidebar />
    <div class="content-box" :class="{'content-collapse': collapse}">
      <l-tags />
      <div class="content">
        <transition name="move" mode="out-in">
          <keep-alive :include="tagsList">
            <router-view />
          </keep-alive>
        </transition>
      </div>
    </div>
  </div>
</template>
<script>
import bus from '@/bus'

import lHeader from './Header.vue'
import lSidebar from './SideBar/Index'
import lTags from './Tags.vue'

export default {
  components: {
    lHeader,
    lSidebar,
    lTags
  },
  data() {
    return {
      collapse: false,
      tagsList: []
    }
  },
  created() {
    console.log('-----Layout created -----')
    bus.$on('collapse-content', msg => {
      this.collapse = msg
    })

    // 只有在标签页列表里的页面才使用keep-alive，即关闭标签之后就不保存到内存中了。
    bus.$on('tags', msg => {
      const arr = []
      for (let i = 0, len = msg.length; i < len; i++) {
        msg[i].name && arr.push(msg[i].name)
      }
      this.tagsList = arr
    })
  }
}
</script>
